<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
	</head>
	<body>
		理解传值和传地址
		传值：只是把值内容传递过去，相当说话，传递一个信息过去，
			A同学对B同学说了一句话，你好
			B同学经过加工之后，转告C同学，A要我替他向你打招呼
			在程序中体面数字类型和字符串
		传地址：将内存地址传递过去，如果修改了内存地址指向的数据，所有引用都会被修改
			A同学告诉B同学，我在宿舍放了一个东西
			B同学再转告C同学，A在宿舍放了一个东西
		<script src="../js/jquery-3.5.1.js" type="text/javascript" charset="utf-8"></script>
		<script type="text/javascript">
			let books = [
				{id: 1, name: 'Java从入门到放弃', price: 80, tdate: '2020-07-01', count: 1, account: "hehe"},
				{id: 2, name: 'Vue从入门到放弃', price: 90, tdate: '2020-07-02', count: 1, account: "haha"},
				{id: 3, name: 'Mysql从入门到放弃', price: 100.01, tdate: '2020-07-03', count: 1, account: "hehe"},
				{id: 4, name: '啥都从入门到放弃', price: 70.00, tdate: '2020-07-04', count: 1, account: "haha"},
			];
			
			function objmaxid(arr) {
				if(arr instanceof Array) {//要求arr参数必须是数组
					// console.log("arr是一个数组")
					let max = arr[0];//最大记录
					for(let item of arr) {
						if(max.id < item.id) {
							max = item;
						}
					}
					
					return max;
				}
			}
			//找到id最的对象，id自增1
			// objmaxid(books).id++;
			let max = objmaxid(books);
			// max.id++;
			add(max);
			add1(max.id);
			console.log(books);
			//传对象，即传的是对象的地址
			function add(arg) {
				arg.id++;
			}
			//传值，只是传递过去
			function add1(arg) {
				arg++
			}
			
			let arr = [-1, -4, -6, -2, -3, -5];
			function arrmax(arr) {
				if(arr instanceof Array) {//要求arr参数必须是数组
					// console.log("arr是一个数组")
					let max = arr[0];//最大记录
					for(let item of arr) {
						if(max < item) {
							max = item;
						}
					}
					
					return max;
				}
			}
			// arrmax(arr)++;
			let arrmaxnum = arrmax(arr);
			// const a = 1;
			// a += 1;
			arrmaxnum++;
			console.log(arr);
			/*
				基本数据类型
					除引用数据类型外
					数字类型number(整型和浮点型)、字符串string
				引用数据类型
					数组Array、对象Object
				函数传值和传地址
			*/
		   
		   let strarr = ["a", "b"];
		   let a = strarr[0];
		   a += "c";
		   console.log(strarr);
		</script>
	</body>
</html>
